# 多层继承

# class A(object):
class A:

    def func1(self):
        print('我是 a 中 的 funct1 .....')


class B(A):

    def func2(self):
        print('我是 b 中 的 funct2 .....')


class D():

    def func2(self):
        print('我是 D 中 的 funct2 .....')


class C(D, B):

    # def func2(self):
    #     print('我是 c 中 的 funct2 .....')

    def func3(self):
        print('我是 C 中 的 funct3 .....')


# 类中方法的调用 顺序

#  本类中查找  , 父类中查找( 2 中 深度优先算法, 3 广度优先算法)

c1 = C()

print(C.__mro__)

c1.func1()
c1.func2()
c1.func3()
